1. Field of the Invention
The field of the invention relates to data processing apparatus and in particular to the allocation of memory for use by processes executing on the processing apparatus.
2. Description of the Prior Art
Data processing apparatus use data storage to store the code executing on the processing apparatus and the data being processed. At least some of this data storage will be in the form of a memory and different portions of the memory will be allocated for different purposes. Some of this allocation may be a permanent allocation so that that portion of the memory is configured to store data for a particular purpose, while other memory allocations will be temporary. This allows flexibility in the use of memory, so that while a particular process requires storage it can have memory allocated to it, and it when it no longer has this requirement the memory portion may be deallocated making it available for allocation to other processes.
In order to control the allocation of the memory particularly for applications running on the processing apparatus whose requirements change, there have been various techniques devised to allocate portions of memory as they are required and deallocate them when they are no longer required. These known allocation techniques typically use some form of control structure associated with the allocation that determines the location or size of the portion of memory allocated. These control structures may be in the form of tables, linked lists or headers stored before the allocated area. Deallocation updates the control structures. These structures are expensive to store and maintain especially on an embedded device.
It would be desirable to provide allocation and deallocation techniques for memory used by a data processing with reduced storage and updating overheads.